
Java Math.min / max性能
编辑:maaartinus给出了我一直在寻找的答案,而tmyklebu的关于该问题的数据帮助很大,所以都谢谢!:)我已经阅读了一些有关HotSpot如何在代码中注入一些“本能”的信息,特别是针对Java标准Math库的(从此处开始)因此,我决定尝试一下,看看HotSpot与直接进行比较有何不同(特别是因为我听说过min / max...
2024-01-10
Java Math.random()解释
这是一个非常简单的Java(尽管可能适用于所有编程)问题:Math.random()返回介于零和一之间的数字。如果我想返回零到一百之间的整数,我会这样做:(int) Math.floor(Math.random() * 101)在一百到一百之间,我会做:(int) Math.ceil(Math.random() * 100)但是,如果我想得到三到五之间的数字怎么办?它会像下面的...
2024-01-10
Java math.random,仅生成0?
以下代码仅产生0;-;我究竟做错了什么?public class RockPaperSci { public static void main(String[] args) { //Rock 1 //Paper 2 //Scissors 3 int croll =1+(int)Math.random()*3-1; System.out.println(croll); }}编辑,另一张海报建议修复它。int croll = 1 +(int)(Math.random()* 4-...
2024-01-10
java.math.MathContext的使用
最近,我尝试了解 的用法,但未能正确理解。它用于四舍五入java.math.BigDecimal。如果是,为什么不四舍五入十进制数字,甚至尾数部分。从API文档中,我知道它遵循,ANSI X3.274-1996和ANSI X3.274-1996/AM1-2000规范中指定的标准,但是我没有让他们在线阅读。如果您对此有任何想法,请告诉我。回答:@贾坦...
2024-01-10
Java中的随机种子Math.random
在我的代码中,我在不同的类中使用随机数。如何定义随机种子?我可以为主代码中的所有类定义此种子吗?double rnd = Math.random();回答:您可能需要使用特殊的Random类。它使您可以更好地控制随机数。为此,您首先需要创建一个新的随机对象。Random generator = new Random(seed);然后通过生成一个新的数字...
2024-01-10
检查一个类是否是java.lang.Enum
我想知道一个类是否为枚举,但是我想我缺少了一些东西:if (test.MyEnum.class instanceof Enum<?>.class) obj = resultWrapper.getEnum(i, test.MyEnum.class);else obj = resultWrapper.getObject(i);它给我一个错误,指出Enum.class无效。那么,如何检查类是否为枚举?我很确定有可能确定这一点,但我无法做到。谢谢回答:正确的...
2024-01-10
为什么只自动导入java.lang包?
我知道该包java.lang是由我们编写的每个Java程序自动导入的,因此包中的所有类对我们都是自动可用的。我的问题是为什么也不要自动导入java.util和其他软件包?那肯定会节省一些打字:)因此,请解释为什么不这样做。回答:不自动导入过多的一个好理由是避免名称空间冲突。例如,如果其中的所有内...
2024-01-10
Java Math.pow(a,b)时间复杂度
我想问一下下面代码的时间复杂度。是O(n)吗?(Math.pow()的时间复杂度是O(1)吗?)通常,Math.pow(a,b)的时间复杂度是O(b)还是O(1)?提前致谢。public void foo(int[] ar) { int n = ar.length; int sum = 0; for(int i = 0; i < n; ++i) { sum += Math.pow(10,ar[i]); }}回答:@Blindy讨论了Java可以采用的 可...
2024-01-10
Math.max.apply()如何工作?
Math.max.apply()工作如何?<!DOCTYPE html><html><head><meta charset=utf-8 /><title>JS Bin</title></head><body> <script> var list = ["12","23","100","34","56", "9","233"]; console.log(Math.max.apply(Math,list)); ...
2024-01-10
在Java绑定中循环遍历OpenCV Mat
我正在尝试将使用OpenCV收到的先前答案中的C++方法转换为使用OpenCV Java绑定的JavaC ++代码:cv::Mat gray;cv::Mat element = cv::getStructuringElement(cv::MORPH_CROSS, cv::Size(2 * erosion_size + 1, 2 * erosion_size + 1), ...
2024-01-10
Java致命错误:在类路径或引导类路径中找不到包java.lang
我收到这个错误错误:java:致命错误:在类路径或引导类路径中找不到包java.lang当我尝试构建/编译 任何项目时,在IntelliJ中使用。这里应该说明的是,NetBeans,Eclipse甚至javac命令行都可以编译,构建和执行同一项目而不会出错。这就是为什么我怀疑问题出在IntelliJ上,其他所有IDE都可以正常工作的...
2024-01-10
Java中的OpenCV Mat如何表示两个元素的向量?
我在看Hough Transform的OpencvJava文档。返回值lines的Mat数据类型描述为:线的输出向量。每行由一个二元素矢量(rho,θ)表示。rho是距坐标原点(0,0)(图像的左上角)的距离。theta是弧度的直线旋转角度(0〜垂直线,pi/ 2〜水平线)。奇怪的是,此描述与C++接口的描述匹配, 数据类型与之不匹配...
2024-01-10
为什么java.util.HashSet没有get(Object o)方法?
我已经看到了有关Set根据索引值从中获取对象的其他问题,并且我理解为什么这是不可能的。但是我无法找到一个很好的解释,说明为什么不允许按对象获取,所以我想问一下。HashSet有a作为后盾,HashMap因此从中获取对象应该非常简单。现在看来,我将不得不遍历中的每个项目HashSet并测试是否相等,...
2024-01-10
java如何避免object != null?
object != null要避免很多NullPointerException。有没有好的替代方法?例如:if (someobject != null) { someobject.doCalc();}NullPointerException当不知道对象是否存在时,可以避免使用null。回答:在我看来,这似乎是一个相当普遍的问题,初级和中级开发人员往往会在某个时候遇到这些问题:他们要么不知道,要么...
2024-01-10
检查java.lang.Double是否相等的高性能方法
检查双精度值是否相等的最有效方法是什么。我明白那个double a = 0.00023d;double b = 0.00029d;boolean eq = (a == b);是慢的。所以我在用double epsilon = 0.00000001d;eq = Math.abs(a - b) < epsilon;问题在于,Infinitest测试耗时过多。没什么大不了的(最高1秒),但这让我感到好奇。a硬编码,因为它是期望值,b由 // f...
2024-01-10
为什么clone()方法在java.lang.Object中受到保护?
clone()定义为的受保护的具体原因是java.lang.Object什么?回答:克隆受到保护的事实非常令人怀疑-事实是该clone方法未在Cloneable接口中声明。它使该方法对于获取数据副本非常无用,因为你不能说:if(a instanceof Cloneable) { copy = ((Cloneable) a).clone();}我认为,Cloneable现在的设计在很大程度上被认为是一...
2024-01-10
Java8:为什么禁止为java.lang.Object中的方法定义默认方法
默认方法是Java工具箱中一个不错的新工具。但是,我试图编写一个定义方法default版本的接口toString。Java告诉我,这是禁止的,因为in中声明的方法java.lang.Object可能无法default编辑。为什么会这样呢?我知道有一个“基类始终获胜”规则,因此默认情况下(pun;),方法的任何default实现Object都会被该方法...
2024-01-10
这是什么:[Ljava.lang.Object ;?
当我调用toString从函数调用中收到的对象时,会得到此信息。我知道对象的类型编码在此字符串中,但是我不知道如何读取它。这种编码称为什么类型?回答:[Ljava.lang.Object;是的名称Object[].class,java.lang.Class代表的数组的类Object。命名方案记录在Class.getName():如果该类对象表示的引用类型不是数组类...
2024-01-10
为什么Java.lang.Object不实现可序列化接口?
根据Java文档中的Serializability:通过实现java.io.Serializable接口的类,可以启用类的可序列化性。未实现此接口的类将不会对其状态进行序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义为什么对象尚未实现Serializable?我们不希望...
2024-01-10
无法在Eclipse中解析java.lang.Object
当我在Mac OSX中安装了最新的产品-MountainLion时,在使Eclipse正常工作时遇到了一些问题,我也丢失了大部分Android开发人员文件(但我仍然有我的项目)。我怀疑这是由于选择了删除/Developer并移动XCode和其他Apple开发人员工具(我在这里放置了Android工具)造成的。我现在已经安装了最新版本的Eclipse,问...
2024-01-10
遗漏的类型错误:<my obj> .validate不是一个函数
我刚开始接触ember-validations,但我得到的错误:Uncaught TypeError: <my obj>.validate is not a function遗漏的类型错误:<my obj> .validate不是一个函数这里是我的对象扩展EmberValidations:import EmberValidations from 'ember-validations'; export default Ember.Object.extend(EmberValidations, { na...
2024-01-10
Java为什么默认的Object.toString()包含哈希码?
如果执行:System.out.println(someObj.toString());你可能会看到类似的输出someObjectClassname @ hashcodenumber我的问题:是否存在显示hashCode号的任何特定原因?回答:对象哈希码是唯一的标准标识符,可能允许您在Java中区分不同的任意对象。它不一定是唯一的,但是相等的对象通常具有相同的哈希码。默认toSt...
2024-01-10
Java中“ new String(…)”表达式的目的是什么?
在查看在线代码示例时,有时会遇到通过使用new运算符将String常量分配给String对象的情况。例如:String s;...s = new String("Hello World");当然,与s = "Hello World";我不熟悉这种语法,也不知道其目的或效果。由于String常量通常存储在常量池中,然后JVM以任何表示形式存储在处理String常量中,因此是否还会...
2024-01-10
Java:将List <String>转换为字符串
JavaScript有 Array.join()js>["Bill","Bob","Steve"].join(" and ")Bill and Bob and SteveJava有这样的东西吗?我知道我可以使用StringBuilder自己整理一些东西:static public String join(List<String> list, String conjunction){ StringBuilder sb = new StringBuilder(); boolean first = tru...
2024-01-10
Java 什么时候应该在String文字上使用String的内部方法
根据String#intern(),intern如果在字符串池中找到字符串,则该方法应从字符串池返回字符串,否则,将在字符串池中添加新的字符串对象,并返回此字符串的引用。所以我尝试了这个:String s1 = "Rakesh";String s2 = "Rakesh";String s3 = "Rakesh".intern();if ( s1 == s2 ){ System.out.println("s1 and s2 are same"); // 1.}if ...
2024-01-10
什么是Java字符串池?“ s”与新的String(“ s”)有何不同?
字符串池是什么意思?以下声明之间有什么区别:String s = "hello";String s = new String("hello");JVM存储这两个字符串之间有什么区别吗?回答:字符串池是JVM对字符串实习概念的特定实现:在计算机科学中,字符串保留是一种仅存储每个不同的字符串值的一个副本的方法,该值必须是不变的。内部字符串...
2024-01-10
Java Regex-使用String的replaceAll方法替换换行符
我有一个字符串,想简单地用string替换其中的所有换行符" --linebreak-- "。只需写一下就足够了:string = string.replaceAll("\n", " --linebreak-- ");我对它的正则表达式部分感到困惑。我换行需要两个斜杠吗?这样够好吗?回答: 。您只需要纯文本匹配即可替换"\n"。用于replace()将文字字符串替换为另一个:str...
2024-01-10
如何在Java中将String类型转换为Class类型
我想在一个程序包中打印所有的类名,并在每个程序包中打印相应的属性及其数据类型。在一个代码中,我能够以字符串形式获取类名。在另一个代码中,我可以使用以下方法获取属性及其数据类型Classname.class.getAttribute();但是我想合并两个代码。由于在第一个代码中我以字符串的形式获得了类名,我...
2024-01-10
什么是“ String args []”?主方法Java中的参数
我刚刚开始用Java编写程序。以下Java代码是什么意思?public static void main(String[] args)What is String[] args?When would you use these args?源代码和/或示例优先于抽象解释回答:在Java中,args包含提供的命令行参数作为String对象数组。换句话说,如果你运行你的程序作为java MyProgram one two然后args将包含["one", "t...
2024-01-10
如何在Java中初始化List <String>对象?
我无法按照以下代码初始化列表:List<String> supplierNames = new List<String>();supplierNames.add("sup1");supplierNames.add("sup2");supplierNames.add("sup3");System.out.println(supplierNames.get(1));我遇到以下错误:无法实例化类型 List<String>我该如何实例化List<String>?回答:如果你检查API,List则会注意到它说:In...
2024-01-10
在调用String ID上的save之前,必须手动分配此类的ID
已经阅读了许多有关同一问题的问题,但我仍然无法解决此问题。我需要String在数据库上有一个主键。import javax.persistence.Entity;import javax.persistence.Id;@Entitypublic class MyClass { @Id private String myId; private String name; // getters and setters..}问题是,如果我String在带@Id注释的字段中使用type ,则当...
2024-01-10
Java 8流:将IntStream转换为String
在Java 8流API中,调用chars()任何String对象都会返回一个IntStream包含所有字符的对象。将返回的IntStream对象转换回a的正确方法是String什么?调用toArray()会给我一个int[],任何String构造函数都不接受。回答:您可以使用toArray(),然后使用String(int[], int,int)构造函数。正如chars()返回UTF-16代码单元所指定的那...
2024-01-10
